Welcome Guest, you are in: Login
CTS Futures

Page History: Order Mass Status Request

Compare Page Revisions



« Older Revision - Back to Page History - Newer Revision »


Page Revision: 2016/07/25 11:41



Order Mass Status Request

The Order Mass Status Request message (MsgType=AF) is used by the T4 FIX API to list open orders. Requests can be submitted for a specific Account (Tag 1), UserName (Tag 553), SecurityID (Tag 48), Symbol (Tag 55) and Security Exchange (Tag 207). Orders can also be filtered by Time-In-Force (Tag 59). UserName filtering (Tag 553) is only available under the Multi-Trader mode (Tag 372=UCG) of the Logon message.

The Order Mass Status Request message provides an alternative mechanism for listing open orders. Similar functionality can be achieved with the Collateral Inquiry message.

The Order Mass Status Request message is responded with an Execution Report message for each open order. If the order mass status request yields no open orders, an Execution Report is responded with an Order Status of Unknown (Tag 39=U). Execution reports are all labeled as PossResend (97=Y) and carry the MassStatusReqID (Tag 584) for pairing against its corresponding Order Mass Status Request.

This message covers open orders for all security types including outright futures, futures options, spreads and multi-leg strategies.

Identifying specific Markets, Contracts and Exchanges

To list open orders, the order mass status request type (Tag 585) must always be specified.

Open orders for all markets and accounts (including all users in Multi-Trader mode) can be requested with MassStatusReqType equal to "all" (Tag 585=7).

Open orders for a specific market can be queried with Tag 585 = 1 and the SecurityID (Tag 48) set to the desired market id. A specific contract (with multiple markets) can be queried with Tag 585=3 and the Symbol (Tag 55) set to the desired contract id value. If orders for a specific exchange (with multiple contracts) are needed, the mass order status request type would be set to Exchange (Tag 585=5) and the SecurityExchange (Tag 207) set to the desired exchange id value.

To determine what values to use for the filter tags (48, 55, 207), the Security Definition Request message can list the current markets, contracts and exchanges.

Identifying specific Accounts, Users and Time-In-Force

With the optional order status request type (Tag 5000), the Order Mass Status request can also be filtered by Account (Tag 1) and UserName (Tag 553).

To request open orders for a specific account, the Order Status Request (Tag 5000) is set to 101 with the Account (Tag 1) set to the (authorized) account name. To list open orders for a specific user (Tag 553), the Order Status Request (Tag 5000) is set to 100 with the UserName (Tag 553) set to the user name. The latter (UserName) request is only available under the Multi-Trader mode (Tag 372=UCG) of the Logon message. It can only be processed for the Master User - which can inquire for open orders executed by logged-in traders.

Open orders can also be filtered optionally by its Time-in-Force (Tag 59). See the Message Dictionary below for valid Time-In-Force values. If the Time-In-Force tag is not specified, open orders for all Time-In-Force values will be listed.


Important Considerations

The FIX API client is recommended to maintain its own collection to track open orders. Like Collateral Inquiries, the Order Mass Status Request message is provided for reconciliation of the client's open orders collection against CTS's. To further help in reconciliation, open orders are also presented automatically at the start of the FIX session if AutoPortFolio Refresh is not disabled (Tag 372=d) in the Logon message.

Message Dictionary

TagField NameReq'dComments
Standard HeaderYMsgType = AF
584MassStatusReqIDYUnique identifier for Order Mass Status Request. Assigned by the FIX API client.
585MassStatusReqTypeYMass Status Request type. Open orders will be returned for the following options:
1 = Market. Open orders are listed for only the market identified by Security ID (Tag 48).
3 = Contract. Open orders are listed for only the contract identified by Symbol (Tag 55).
5 = Exchange. Open orders are listed for only the exchange identified by SecurityExchange (Tag 207).
7 = All. All open orders are listed.
5000OrdStatusReqTypeNOrder Status Request Type within the context of MassStatusReqType (Tag 585). Valid values are:
100 = User. Open orders pertaining to UserName (Tag 553) are listed. Only available in Multi-Trader mode for requests originated from Master User.
101 = Account. Open orders pertaining to Account (Tag 1) are listed.
1AccountNAccount for the optional OrdStatusReqType (Tag 5000). If not specified, open orders for all accounts are listed.
207SecurityExchangeNSpecific Security Exchange requested for the Exchange MassStatusReqType (Tag 585=5).
55SymbolNSpecific Symbol requested for the Contract MassStatusReqType (Tag 585=3)
48SecurityIDNSpecific SecurityID requested for the Market MassStatusReqType (Tag 585=1)
553UserNameNUser Name for the optional OrdStatusReqType (Tag 5000). If not specified, open orders for all users are listed. Only valid in Multi-Trader mode.
59TimeInForceNSpecifies how long the order remains in effect. Valid values are:
0 = Day
1 = Good Until Cancel
3 = Immediate or Cancel
4 = Fill Or Kill
60TransactTimeYTime the order mass status request was submitted. Specified in UTC form.
1028ManualOrderIndicatorNIndicates if the order was sent Manually (i.e. order action is immediate from a human). Valid values are:
Y = Order was entered Manually
N = Order was entered by an Automated System, Program or Algorithm
Standard TrailerY




Sample Messages

Listing all open orders:


1 - ORDERMASSSTATUSREQUEST

34=32|49=T4Test|56=test|52=20160721-17:44:19.370|584=msri-07-21-2016-12:44:19.3706427|585=7|59=0|60=20160721-17:44:19.370|

[21-Jul-2016] 12:44:19.3726972

[MsgSeqNum] 34 = 32
[SenderCompID] 49 = T4Test
[TargetCompID] 56 = test
[SendingTime] 52 = 20160721-17:44:19.370
[MassStatusReqID] 584 = msri-07-21-2016-12:44:19.3706427
[MassStatusReqType] 585 = 7 (ALL)
[TimeInForce] 59 = 0 (DAY)
[TransactTime] 60 = 20160721-17:44:19.370


2 - EXECUTIONREPORT

34=71|49=test|56=T4Test|50=T4FIX|52=20160721-17:44:19.372|143=US,IL|97=Y|1=Account1|11=fn-636047018544844180|17=607DB8AC-B3EE-4579-9260-4D1946C446BD_2_U|150=I|37=607DB8AC-B3EE-4579-9260-4D1946C446BD|39=0|48=XCME_C ZC (U16)|55=ZC|207=CME_C|200=201609|59=0|107=Corn Sep16|54=1|167=FUT|38=1|40=2|44=34050|912=N|60=20160721-17:44:17.476|21=1|204=0|584=msri-07-21-2016-12:44:19.3706427|

[21-Jul-2016] 12:44:19.3729367

[MsgSeqNum] 34 = 71
[SenderCompID] 49 = test
[TargetCompID] 56 = T4Test
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20160721-17:44:19.372
[TargetLocationID] 143 = US,IL
[PossResend] 97 = Y (YES)
[Account] 1 = Account1
[ClOrdID] 11 = fn-636047018544844180
[ExecID] 17 = 607DB8AC-B3EE-4579-9260-4D1946C446BD_2_U
[ExecType] 150 = I (ORDER_STATUS)
[OrderID] 37 = 607DB8AC-B3EE-4579-9260-4D1946C446BD
[OrdStatus] 39 = 0 (NEW)
[SecurityID] 48 = XCME_C ZC (U16)
[Symbol] 55 = ZC
[SecurityExchange] 207 = CME_C
[MaturityMonthYear] 200 = 201609
[TimeInForce] 59 = 0 (DAY)
[SecurityDesc] 107 = Corn Sep16
[Side] 54 = 1 (BUY)
[SecurityType] 167 = FUT (FUTURE)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 34050
[LastRptRequested] 912 = N (NO)
[TransactTime] 60 = 20160721-17:44:17.476
[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_NOBROKER)
[CustomerOrFirm] 204 = 0 (CUSTOMER)
[MassStatusReqID] 584 = msri-07-21-2016-12:44:19.3706427


3 - EXECUTIONREPORT

34=72|49=test|56=T4Test|50=T4FIX|52=20160721-17:44:19.372|143=US,IL|97=Y|1=Account1|11=fn-636046978602258221|17=B5F1A5EB-ECA0-4E24-826B-6F57542D0829_3_U|150=I|37=B5F1A5EB-ECA0-4E24-826B-6F57542D0829|39=0|48=XCME_Eq ES (U16)|55=ES|207=CME_Eq|200=201609|59=0|107=E-mini S&P 500 Sep16|54=2|167=FUT|38=1|40=2|44=214950|912=N|60=20160721-16:37:43.137|21=1|204=0|584=msri-07-21-2016-12:44:19.3706427|

[21-Jul-2016] 12:44:19.3730290

[MsgSeqNum] 34 = 72
[SenderCompID] 49 = test
[TargetCompID] 56 = T4Test
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20160721-17:44:19.372
[TargetLocationID] 143 = US,IL
[PossResend] 97 = Y (YES)
[Account] 1 = Account1
[ClOrdID] 11 = fn-636046978602258221
[ExecID] 17 = B5F1A5EB-ECA0-4E24-826B-6F57542D0829_3_U
[ExecType] 150 = I (ORDER_STATUS)
[OrderID] 37 = B5F1A5EB-ECA0-4E24-826B-6F57542D0829
[OrdStatus] 39 = 0 (NEW)
[SecurityID] 48 = XCME_Eq ES (U16)
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[MaturityMonthYear] 200 = 201609
[TimeInForce] 59 = 0 (DAY)
[SecurityDesc] 107 = E-mini S&P 500 Sep16
[Side] 54 = 2 (SELL)
[SecurityType] 167 = FUT (FUTURE)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 214950
[LastRptRequested] 912 = N (NO)
[TransactTime] 60 = 20160721-16:37:43.137
[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_NOBROKER)
[CustomerOrFirm] 204 = 0 (CUSTOMER)
[MassStatusReqID] 584 = msri-07-21-2016-12:44:19.3706427


4 - EXECUTIONREPORT

34=73|49=test|56=T4Test|50=T4FIX|52=20160721-17:44:19.373|97=Y|1=Account2|11=fn-636046979248572065|17=DBE4D731-AD6F-473B-9500-3E4CC0922526_3_U|150=I|37=DBE4D731-AD6F-473B-9500-3E4CC0922526|39=0|48=D_F_F_20160900|55=F|207=D_F|200=201609|59=0|107=D-Financial (00:00) Sep16|54=2|167=FUT|38=1|40=2|44=13800|912=Y|60=20160721-16:38:47.748|21=1|204=0|584=msri-07-21-2016-12:44:19.3706427|

[21-Jul-2016] 12:44:19.3731161

[MsgSeqNum] 34 = 73
[SenderCompID] 49 = test
[TargetCompID] 56 = T4Test
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20160721-17:44:19.373
[PossResend] 97 = Y (YES)
[Account] 1 = Account2
[ClOrdID] 11 = fn-636046979248572065
[ExecID] 17 = DBE4D731-AD6F-473B-9500-3E4CC0922526_3_U
[ExecType] 150 = I (ORDER_STATUS)
[OrderID] 37 = DBE4D731-AD6F-473B-9500-3E4CC0922526
[OrdStatus] 39 = 0 (NEW)
[SecurityID] 48 = D_F_F_20160900
[Symbol] 55 = F
[SecurityExchange] 207 = D_F
[MaturityMonthYear] 200 = 201609
[TimeInForce] 59 = 0 (DAY)
[SecurityDesc] 107 = D-Financial (00:00) Sep16
[Side] 54 = 2 (SELL)
[SecurityType] 167 = FUT (FUTURE)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 13800
[LastRptRequested] 912 = Y (YES)
[TransactTime] 60 = 20160721-16:38:47.748
[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_NOBROKER)
[CustomerOrFirm] 204 = 0 (CUSTOMER)
[MassStatusReqID] 584 = msri-07-21-2016-12:44:19.3706427


Listing open orders for a specific market:


1 - ORDERMASSSTATUSREQUEST

34=22|49=T4Test|56=test|52=20160721-17:41:37.053|584=msri-07-21-2016-12:41:37.0530039|585=1|48=XCME_Eq ES (U16)|59=0|60=20160721-17:41:37.053|

[21-Jul-2016] 12:41:37.0547610

[MsgSeqNum] 34 = 22
[SenderCompID] 49 = T4Test
[TargetCompID] 56 = test
[SendingTime] 52 = 20160721-17:41:37.053
[MassStatusReqID] 584 = msri-07-21-2016-12:41:37.0530039
[MassStatusReqType] 585 = 1 (MARKET)
[SecurityID] 48 = XCME_Eq ES (U16)
[TimeInForce] 59 = 0 (DAY)
[TransactTime] 60 = 20160721-17:41:37.053


2 - EXECUTIONREPORT

34=60|49=test|56=T4Test|50=T4FIX|52=20160721-17:41:37.054|143=US,IL|97=Y|1=Account1|11=fn-636046978602258221|17=B5F1A5EB-ECA0-4E24-826B-6F57542D0829_3_U|150=I|37=B5F1A5EB-ECA0-4E24-826B-6F57542D0829|39=0|48=XCME_Eq ES (U16)|55=ES|207=CME_Eq|200=201609|59=0|107=E-mini S&P 500 Sep16|54=2|167=FUT|38=1|40=2|44=214950|912=Y|60=20160721-16:37:43.137|21=1|204=0|584=msri-07-21-2016-12:41:37.0530039|

[21-Jul-2016] 12:41:37.0549716

[MsgSeqNum] 34 = 60
[SenderCompID] 49 = test
[TargetCompID] 56 = T4Test
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20160721-17:41:37.054
[TargetLocationID] 143 = US,IL
[PossResend] 97 = Y (YES)
[Account] 1 = Account1
[ClOrdID] 11 = fn-636046978602258221
[ExecID] 17 = B5F1A5EB-ECA0-4E24-826B-6F57542D0829_3_U
[ExecType] 150 = I (ORDER_STATUS)
[OrderID] 37 = B5F1A5EB-ECA0-4E24-826B-6F57542D0829
[OrdStatus] 39 = 0 (NEW)
[SecurityID] 48 = XCME_Eq ES (U16)
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[MaturityMonthYear] 200 = 201609
[TimeInForce] 59 = 0 (DAY)
[SecurityDesc] 107 = E-mini S&P 500 Sep16
[Side] 54 = 2 (SELL)
[SecurityType] 167 = FUT (FUTURE)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 214950
[LastRptRequested] 912 = Y (YES)
[TransactTime] 60 = 20160721-16:37:43.137
[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_NOBROKER)
[CustomerOrFirm] 204 = 0 (CUSTOMER)
[MassStatusReqID] 584 = msri-07-21-2016-12:41:37.0530039


Listing open orders for a specific account:


1 - ORDERMASSSTATUSREQUEST

34=2|49=T4Test|56=test|52=20160721-17:33:55.753|584=msri-07-21-2016-12:33:55.7537682|585=7|5000=101|1=Account1|59=0|60=20160721-17:33:55.753|

[21-Jul-2016] 12:33:55.7562146

[MsgSeqNum] 34 = 2
[SenderCompID] 49 = T4Test
[TargetCompID] 56 = test
[SendingTime] 52 = 20160721-17:33:55.753
[MassStatusReqID] 584 = msri-07-21-2016-12:33:55.7537682
[MassStatusReqType] 585 = 7 (ALL)
[OrdStatusReqType] 5000 = 101 (ACCOUNT)
[Account] 1 = Account1
[TimeInForce] 59 = 0 (DAY)
[TransactTime] 60 = 20160721-17:33:55.753



2 - EXECUTIONREPORT

34=40|49=test|56=T4Test|50=T4FIX|52=20160721-17:33:55.756|143=US,IL|97=Y|1=Account1|11=fn-636046978602258221|17=B5F1A5EB-ECA0-4E24-826B-6F57542D0829_3_U|150=I|37=B5F1A5EB-ECA0-4E24-826B-6F57542D0829|39=0|48=XCME_Eq ES (U16)|55=ES|207=CME_Eq|200=201609|59=0|107=E-mini S&P 500 Sep16|54=2|167=FUT|38=1|40=2|44=214950|912=Y|60=20160721-16:37:43.137|21=1|204=0|584=msri-07-21-2016-12:33:55.7537682|

[21-Jul-2016] 12:33:55.7564302

[MsgSeqNum] 34 = 40
[SenderCompID] 49 = test
[TargetCompID] 56 = T4Test
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20160721-17:33:55.756
[TargetLocationID] 143 = US,IL
[PossResend] 97 = Y (YES)
[Account] 1 = Account1
[ClOrdID] 11 = fn-636046978602258221
[ExecID] 17 = B5F1A5EB-ECA0-4E24-826B-6F57542D0829_3_U
[ExecType] 150 = I (ORDER_STATUS)
[OrderID] 37 = B5F1A5EB-ECA0-4E24-826B-6F57542D0829
[OrdStatus] 39 = 0 (NEW)
[SecurityID] 48 = XCME_Eq ES (U16)
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[MaturityMonthYear] 200 = 201609
[TimeInForce] 59 = 0 (DAY)
[SecurityDesc] 107 = E-mini S&P 500 Sep16
[Side] 54 = 2 (SELL)
[SecurityType] 167 = FUT (FUTURE)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 214950
[LastRptRequested] 912 = Y (YES)
[TransactTime] 60 = 20160721-16:37:43.137
[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_NOBROKER)
[CustomerOrFirm] 204 = 0 (CUSTOMER)
[MassStatusReqID] 584 = msri-07-21-2016-12:33:55.7537682


FIX API Home Page.

Trade how you want, where you want

support@ctsfutures.com (312) 939 0164

2 Pierce Pl, Suite 200, Itasca, IL 60143

© 2009-2023 Cunningham Trading Systems LLC All rights reserved.